package Test517;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class demo {
    public static void main(String[] args) {
        boolean flag = true;
        while(flag){
            System.out.println("欢迎来到员工管理系统！");
            System.out.println("0.退出系统");
            System.out.println("1.添加员工信息");
            System.out.println("2.查询所有员工信息");
            System.out.println("3.根据员工姓名查询员工信息");
            System.out.println("4.删除指定员工信息");
            System.out.println("5.根据员工编号查询员工信息");
            System.out.println("6.更新员工信息");
            System.out.print("请选择你需要进行的操作：");

            Scanner sc = new Scanner(System.in);
            int n = sc.nextInt();

            TestList textList = new TestList();
            List<Emp> list = new ArrayList<>();

            textList.addEmp(list, new Emp("1001", "武则天", 30));
            textList.addEmp(list, new Emp("1002", "李白", 25));
            textList.addEmp(list, new Emp("1003", "嫦娥", 21));

            switch (n) {
                case 0:
                    // 退出系统
                    System.out.println("欢迎下次使用！");
                    flag = false;
                    break;
                case 1:
                    // 添加员工信息
                    System.out.println("请输入员工编号：");
                    String number = sc.next();
                    System.out.println("请输入员工姓名：");
                    String name = sc.next();
                    System.out.println("请输入员工年龄：");
                    int age = sc.nextInt();
                    textList.addEmp(list, new Emp(number, name, age));
                    break;
                case 2:
                    // 查询所有员工信息
                    textList.findAllEmp(list);
                    break;
                case 3:
                    // 查询指定员工信息
                    System.out.println("请输入用户名：");
                    Emp emp = textList.findEmpName(list, sc.next());
                    System.out.println(emp);
                    break;
                case 4:
                    // 删除指定员工信息
                    System.out.println("请输入员工编号：");
                    String deleteNumber = sc.next();
                    textList.deleteEmpNumber(list, deleteNumber);
                    break;
                case 5:
                    // 根据员工编号查询员工信息
                    System.out.println("请输入需要查询的员工编号：");
                    String findNumber = sc.next();
                    Emp findEmp = textList.findEmpNumber(list, findNumber);  // 使用 findEmpNumber 方法
                    System.out.println(findEmp);
                    break;
                case 6:
                    // 更新员工信息
                    System.out.println("请输入需要修改的员工编号：");
                    String updateNumber = sc.next();
                    Emp updateEmp = textList.findEmpNumber(list, updateNumber);  // 使用 findEmpNumber 方法
                    if (updateEmp != null) {
                        System.out.println("请输入修改的员工年龄：");
                        int updateAge = sc.nextInt();
                        updateEmp.setAge(updateAge);
                        textList.updateEmp(list, updateEmp);  // 调用 updateEmp 方法
                        System.out.println("修改后的员工信息：");
                        textList.findAllEmp(list);
                    } else {
                        System.out.println("未找到该员工编号的信息。");
                    }
                    break;
                default:
                    System.out.println("无效的操作选择，请重新选择。");
                    break;
            }
        }

    }
}
